914644376ad152b4cc2978d73f44fdd2687e0528,Common/Frameworks/ERExtensions/Sources/er/extensions/ERXExtensions.java,ERXExtensions,refreshSharedObjectsWithName,#String#,839

Before Change


                EOEnterpriseObject eo = (EOEnterpriseObject)e.nextElement();
                peer.rootObjectStore().refaultObject(eo, peer.globalIDForObject(eo), peer);
            }
                fetchAll.setRefreshesRefetchedObjects(true);
                peer.objectsWithFetchSpecification(fetchAll);
            } else {
            	_log.warn("Attempting to refresh a non-shared EO: " + entityName);

After Change


    // FIXME: Uses default model group, and default shared editing context.
    // MOVEME: ERXEOFUtilities
    public static void refreshSharedObjectsWithName(String entityName) {
        if (entityName == null) {
            throw new IllegalStateException("Entity name argument is null for method: refreshSharedObjectsWithName");
        }
        EOSharedEditingContext sharedEC = EOSharedEditingContext.defaultSharedEditingContext();
        sharedEC.lock();
        try {
            EOEntity entity = ERXEOAccessUtilities.entityNamed(sharedEC, entityName);
            NSArray fetchSpecNames = entity.sharedObjectFetchSpecificationNames();
            int count =  (fetchSpecNames != null) ? fetchSpecNames.count() : 0;

            if ( count > 0 ) { //same check as ERXEOAccessUtilities.entityWithNamedIsShared(), but avoids duplicate work
                for (int index = 0 ; index < count ; ++index) {
                    String oneFetchSpecName = (String)fetchSpecNames.objectAtIndex(index);
                    EOFetchSpecification fs = entity.fetchSpecificationNamed(oneFetchSpecName);
                    if (fs != null) {
                        fs.setRefreshesRefetchedObjects(true);
                        sharedEC.bindObjectsWithFetchSpecification(fs, oneFetchSpecName);
                    }
                }